C语言结构体与联合体深度解析
📚 共计 30 章节
01
结构体基础
为什么需要结构体 · 定义与声明 · 变量初始化
入门
核心
02
结构体内存对齐
对齐规则 · 对齐原因 · #pragma pack
内存
进阶
03
结构体指针与函数
结构体指针 · 作为函数参数 · 指针数组
指针
函数
04
联合体(union)深度解析
联合体定义 · 内存共享 · 大小端检测
union
实战
05
结构体与联合体的嵌套
结构体嵌套联合体 · 联合体嵌套结构体 · 数据包解析
嵌套
协议
06
位域(bit-field)
位域定义 · 内存布局 · 寄存器操作
位操作
硬件
07
结构体与链表
单向链表 · 动态内存 · 增删改查
链表
数据结构
08
结构体与文件操作
序列化/反序列化 · fwrite/fread
文件
IO
09
结构体与网络编程
网络数据包解析 · htonl/ntohl
网络
字节序
10
结构体与多线程
结构体作为线程参数 · 线程安全设计
多线程
并发
11
结构体与回调函数
函数指针在结构体中 · 面向对象风格C
回调
设计
12
结构体与宏
offsetof · container_of · 宏简化操作
宏
内核
13
结构体与const
const结构体 · const成员 · const指针
const
安全
14
结构体与typedef
typedef简化声明 · 命名规范
typedef
风格
15
结构体与柔性数组
柔性数组定义 · 内存分配 · 变长数据包
柔性数组
变长
16
结构体与C++兼容性
extern "C" · C与C++结构体差异
兼容
C++
17
结构体与编译器扩展
__attribute__((packed)) · ((aligned))
GCC
属性
18
结构体与调试技巧
GDB打印 · 内存dump · 常见错误
调试
GDB
19
结构体与性能优化
缓存行对齐 · 减少碎片 · 访问效率
优化
缓存
20
结构体与设计模式
单例模式 · 工厂模式 · C语言实现
设计模式
架构
21
结构体与协议解析
二进制协议 · TLV格式解析
协议
TLV
22
结构体与硬件寄存器
寄存器映射 · volatile · 位操作
硬件
寄存器
23
结构体与动态数组
结构体中动态数组 · 二次指针
动态数组
指针
24
结构体与哈希表
链地址法 · 结构体作为哈希节点
哈希
查找
25
结构体与红黑树
Linux内核rbtree · 结构体嵌入
红黑树
内核
26
结构体与内存池
固定大小内存池 · 高效分配释放
内存池
性能
27
结构体与序列化
JSON序列化 · 二进制序列化 · 跨平台
序列化
JSON
28
结构体与反射
C语言模拟反射 · 元数据描述
反射
元编程
29
结构体与单元测试
测试策略 · mock对象设计
测试
mock
30
结构体与代码生成
宏生成结构体 · X-Macro · 代码模板化
代码生成
X-Macro